﻿using System;
using NHibernate.Mappings;

namespace Apollo.Modules.Commissioning
{
    [NHibernateEntity(Table = "CommissionTypes", Lazy = true)]
    public class CommissionType : ITrackable
    {
        public CommissionType() { }

        [PrimaryKey]
        public virtual int Id { get; set; }

        [Property]
        public virtual string Name { get; set; }

        [Property]
        public virtual string Description { get; set; }

        [BelongsTo(Column = "ID_CommissionSchema")]
        public virtual CommissionSchema CommissionSchema { get; set; }

        [Property]
        public virtual DateTime StartDate { get; set; }

        [Property]
        public virtual DateTime? EndDate { get; set; }


        [Property]
        public virtual DateTime InsertDate { get; set; }

        [Property]
        public virtual string InsertBy { get; set; }

        [Property]
        public virtual DateTime? ModifiedDate { get; set; }

        [Property]
        public virtual string ModifiedBy { get; set; }

        [Property]
        public virtual bool AllowsQuaranty { get; set; }

        [Property]
        public virtual bool AllowsClawback { get; set; }

        [Property]
        public virtual string WizCode { get; set; }

        [Property]
        public virtual string Category { get; set; }

        [Property]
        public virtual int DisplayOrder { get; set; }
    }
}
